package com.example.task2u;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.example.task2u.SwipeDetector.Action;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Hoje extends Activity {

	Tarefa t1, t2, t3;
	ListView lv;

	public Hoje() {

	}

	public static final int MENU_MOVE = 1;
	public static final int MENU_REMOVE = 2;

	ArrayList<Tarefa> amanha = new ArrayList<Tarefa>();
	ArrayList<Tarefa> hoje = new ArrayList<Tarefa>();
	ArrayList<Tarefa> pendente = new ArrayList<Tarefa>();

	ArrayAdapter<Tarefa> arrayAdapter;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_hoje);
		TarefasFicheiro taff_app;

		int isto = 0;

		taff_app = (TarefasFicheiro) getApplication();
		taff_app.Ler(isto);

		lv = (ListView) findViewById(R.id.listViewHoje);

		List<Tarefa> al = new ArrayList<Tarefa>();

		al = taff_app.getArrTarefa_Hoje();

		arrayAdapter = new ArrayAdapter<Tarefa>(this,
				android.R.layout.simple_list_item_1, al);

		lv.setAdapter(arrayAdapter);

		registerForContextMenu(lv);

	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		menu.add(Menu.NONE, MENU_MOVE, Menu.NONE, "Mover para Pendente");
		menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Apagar");
	}

	@Override
	public boolean onContextItemSelected(MenuItem item) {
		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
				.getMenuInfo();
		switch (item.getItemId()) {
		case MENU_MOVE:
			movetarefa(info.position);
			return true;
		case MENU_REMOVE:
			removetarefa(info.position);
			return true;
		default:
			return super.onContextItemSelected(item);
		}
	}

	private void movetarefa(int id) {

		TarefasFicheiro taff_app = (TarefasFicheiro) getApplication();
		pendente = taff_app.getArrTarefa_Pendente();
		hoje = taff_app.getArrTarefa_Hoje();
		Tarefa t;
		t = arrayAdapter.getItem(id);
		pendente.add(t);

		for (int j = 0; j < hoje.size(); j++)
			if (hoje.get(j).getNome().equals(t.getNome()))
				hoje.remove(j);

		taff_app.setArrTarefaPendente(pendente);
		taff_app.setArrTarefaHoje(hoje);

		taff_app.Guardar(0);
		taff_app.Guardar(2);
	}

	private void removetarefa(int id) {
		TarefasFicheiro taff_app = (TarefasFicheiro) getApplication();

		hoje = taff_app.getArrTarefa_Hoje();

		Tarefa t;
		t = arrayAdapter.getItem(id);

		for (int j = 0; j < hoje.size(); j++)
			if (hoje.get(j).getNome().equals(t.getNome()))
				hoje.remove(j);

		taff_app.setArrTarefaHoje(hoje);
		taff_app.Guardar(0);

	}
}
/*
 * lv.setOnItemLongClickListener(new OnItemLongClickListener(){
 * 
 * 
 * @Override public boolean onItemLongClick(AdapterView<?> parent, View view,
 * int position, long id) {
 * 
 * 
 * 
 * return false; }});
 * 
 * } }
 */

